<?php

namespace app\api\controller;

use app\common\controller\Api;
use think\Request;

/**
 * 示例接口
 */
class Demo extends Api
{

    //如果$noNeedLogin为空表示所有接口都需要登录才能请求
    //如果$noNeedRight为空表示所有接口都需要验证权限才能请求
    //如果接口已经设置无需登录,那也就无需鉴权了
    //
    // 无需登录的接口,*表示全部
    protected $noNeedLogin = ['test', 'test1','savepos','saveposition',"getpostion","getmycheci"];
    // 无需鉴权的接口,*表示全部
    protected $noNeedRight = ['test2'];

    /**
     * 测试方法
     *
     * @ApiTitle    (测试名称)
     * @ApiSummary  (测试描述信息)
     * @ApiMethod   (POST)
     * @ApiRoute    (/api/demo/test/id/{id}/name/{name})
     * @ApiHeaders  (name=token, type=string, required=true, description="请求的Token")
     * @ApiParams   (name="id", type="integer", required=true, description="会员ID")
     * @ApiParams   (name="name", type="string", required=true, description="用户名")
     * @ApiParams   (name="data", type="object", sample="{'user_id':'int','user_name':'string','profile':{'email':'string','age':'integer'}}", description="扩展数据")
     * @ApiReturnParams   (name="code", type="integer", required=true, sample="0")
     * @ApiReturnParams   (name="msg", type="string", required=true, sample="返回成功")
     * @ApiReturnParams   (name="data", type="object", sample="{'user_id':'int','user_name':'string','profile':{'email':'string','age':'integer'}}", description="扩展数据返回")
     * @ApiReturn   ({
         'code':'1',
         'msg':'返回成功'
        })
     */
    public function test()
    {
        $this->success('返回成功@'.date("Y-m-d H:i:s",time()), $this->request->param());
    }

    public function getpostion()
    {
        $yunid=input("yunid",0);
        $posinfo=cache("weihuaposition".$yunid);
        $posinfo=json_decode($posinfo);
        $this->success("取得位置成功",[$posinfo]);

    }

    /**
     * 无需登录的接口
     *
     */
    public function test1()
    {
        $this->success('返回成功', ['action' => 'test1']);
    }

    /**
     * 需要登录的接口
     *
     */
    public function test2()
    {
        $this->success('返回成功', ['action' => 'test2']);
    }

    /**
     * 需要登录且需要验证有相应组的权限
     *
     */
    public function test3()
    {
        $this->success('返回成功', ['action' => 'test3']);
    }

    public function saveposition(){


        $username=input("username");
        $uid=input("userid");
        $longitude=input("longitude");
        $latitude=input("latitude");
        $nickname=input("nickname");
        $shuoming=input("shuoming");

        $posinfo=[
            "username"=>$username,
            "userid"=>$uid,
            "longitude"=>$longitude,
            "latitude"=>$latitude,
            "nickname"=>$nickname,
            "shuoming"=>$shuoming,
        ];
        $info=db("weizhi")->where("username",$username)->find();
        if($info)
        {
            db("weizhi")->where("id",$info['id'])->update(["neirong"=>json_encode($posinfo),'addtime'=>time()]);
        }
        else
        {
            db("weizhi")->insert(['username'=>$username,"neirong"=>json_encode($posinfo),'addtime'=>time()]);
        }


        $this->success("位置保存成功!");
    }


    public function savepos()
    {
        $param=input("param.");
        // dump($param);
        file_put_contents("pos1.txt",json_encode($param)."\n",FILE_APPEND);
        $account=input("account");
        $uid=input("userid");
        $longitude=input("longitude");
        $latitude=input("latitude");
        $posinfo=[
            "account"=>$account,
            "userid"=>$uid,
            "longitude"=>$longitude,
            "latitude"=>$latitude,
        ];
        file_put_contents("pos.txt",json_encode($posinfo)."\n",FILE_APPEND);
        $this->success('返回成功', ['action' => 'savepos']);


    }

    public function getmycheci()
    {
        $m_checi = new \app\admin\model\Checi;
        $where = [];
        $limit = 10;
        $sort = "id";
        $order = "desc";
        $list = $m_checi
            ->with("yundan")
            ->where($where)
            ->order($sort, $order)
            ->paginate($limit);
        foreach ($list as $key => &$value) {
            $value['cheliang_id']=get_chepai($value['cheliang_id']);
        }

        $result = array("total" => $list->total(), "rows" => $list->items());

        return json($result);
    }


}
